<html xmlns="http://www.w3.org/1999/xhtml" 
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.org/ui"  
      xmlns:h="http://java.sun.com/jsf/html">
    <h:head>
        <title>
            <h:outputText value="Sistema de Seguridad de Aplicaciones - SSA" />
        </title>
    </h:head>
    <h:body>
        <ui:composition template="/WEB-INF/facelets/templates/mainLayout.xhtml">            
            <ui:define name="menuPrincipal">
                <ui:include src="/frmMenu.xhtml"/>
            </ui:define>
             <ui:define name="content" >
                 <p:blockUI block=":frmReporteUsuarios:panUsuarios" 
                            trigger=":frmReporteUsuarios:buscarButton" 
                            widgetVar="blkPanel">
                            Espere mientras se cargan los datos<br /> 
                    <p:graphicImage value="/resource/images/loading.gif" style="width: 65px; height: 50px;"/>
                </p:blockUI>
                 <h:form id="frmReporteUsuarios" onkeypress="if (event.keyCode == 13) return false;">
                     <p:growl showSummary="false" showDetail="true" id="msjFiltro"/>
                     <p:panel id="panUsuarios" header="Usuarios del Sistema" >
                         <table style="width:100%;" >
                            <colgroup>
                                 <col width="120px;"/>
                                 <col width="470px;"/>
                                 <col width="120px;"/>
                                 <col/>
                             </colgroup>
                            <thead>
                                <tr>
                                    <td>
                                        <h:outputText value="Código Usuario:"/> 
                                    </td>
                                    <td>
                                        <p:inputText id="txtBusCodUsuario" value="#{reporteUsuarioController.busCodUsuario}" style="width: 100px;" maxlength="12">
                                        </p:inputText>
                                    </td>
                                    <td>
                                        <h:outputText value="Tipo de Usuario:"/> 
                                    </td>
                                    <td>
                                        <p:selectOneMenu id="lstBusTipoUsuario" 
                                                         value="#{reporteUsuarioController.busTipoUsuario}"                                                         
                                                         style="width: 170px">
                                            <f:selectItem itemValue="#{null}" itemLabel="(Todos)" />
                                            <f:selectItems var="tipoUsuario" 
                                                value="#{reporteUsuarioController.lstTipoUsuario}" 
                                                itemValue="#{tipoUsuario.txtValor}"
                                                itemLabel="#{tipoUsuario.txtParametro}" />
                                        </p:selectOneMenu>
                                    </td>        
                                </tr>
                                <tr>
                                    <td>
                                        <h:outputText value="Nombre Usuario:"/> 
                                    </td>
                                    <td>
                                        <p:inputText id="txtBusNomUsuario" value="#{reporteUsuarioController.busNomUsuario}" style="width: 367px;" maxlength="100">
                                        </p:inputText>
                                    </td>
                                    <td>
                                        <h:outputText value="Usuarios Activos:"/> 
                                    </td>
                                    <td>
                                        <p:selectOneMenu id="lstBusActivo" 
                                                         value="#{reporteUsuarioController.busActivo}" 
                                                         style="width: 170px">
                                            <f:selectItem itemValue="#{null}" itemLabel="(Todos)" />
                                            <f:selectItem itemValue="1" itemLabel="Activo" />
                                            <f:selectItem itemValue="0" itemLabel="Inactivo" />                                            
                                        </p:selectOneMenu>
                                    </td>
                                </tr>
                                <tr>
                                    <td>
                                        <h:outputText value="Unidad Territorial:"/> 
                                    </td>
                                    <td>
                                        <p:selectOneMenu id="lstBusUnidadTerritorial" value="#{reporteUsuarioController.busIdUnidadTerritorial}" style="width: 375px">
                                            <f:selectItem itemValue="#{null}" itemLabel="(Todos)" />
                                            <f:selectItems var="uniter" 
                                                value="#{reporteUsuarioController.lstUnidadTerritorial}" 
                                                itemValue="#{uniter.codZonal}"
                                                itemLabel="#{uniter.txtZonal}" />
                                        </p:selectOneMenu>                                    
                                    </td>
                                    <td>
                                        <h:outputText value="Usuarios Bloqueados:"/> 
                                    </td>                                    
                                    <td>
                                        <p:selectBooleanCheckbox id="blnBusBloqueado" value="#{reporteUsuarioController.busBloqueado}" >
                                        </p:selectBooleanCheckbox>
                                    </td>         
                                </tr>
                                <tr>
                                    <td>
                                        <h:outputText value="Fecha de Registro:"/> 
                                    </td>
                                    <td>
                                        <table>
                                            <tr>
                                                <td style="width: 40px;">
                                                    <h:outputText value="Desde:"/> 
                                                </td>
                                                <td>
                                                    <p:calendar id="calBusFechaDesde" 
                                                        value="#{reporteUsuarioController.busFechaDesde}" 
                                                        size="14"
                                                        showOn="button" 
                                                        locale="es" 
                                                        pattern="dd/MM/yyyy" 
                                                        navigator="true" 
                                                        requiredMessage="Ingrese la fecha de desde" 
                                                        mindate="01/01/1900" 
                                                        maxdate="#{reporteUsuarioController.busFechaHasta eq null?reporteUsuarioController.txtToday:reporteUsuarioController.busFechaHasta}"
                                                        yearRange="1900:"
                                                        readonlyInput="true">
                                                        <p:ajax update="calBusFechaHasta" event="dateSelect"/>
                                                    </p:calendar>
                                                </td>
                                                <td style="width: 15px;"></td>                                                
                                                <td style="width: 40px;">
                                                    <h:outputText value="Hasta:"/> 
                                                </td>
                                                <td>
                                                    <p:calendar id="calBusFechaHasta" 
                                                        value="#{reporteUsuarioController.busFechaHasta}" 
                                                        size="14"
                                                        showOn="button" 
                                                        locale="es" 
                                                        pattern="dd/MM/yyyy" 
                                                        navigator="true" 
                                                        requiredMessage="Ingrese la fecha de hasta" 
                                                        mindate="#{reporteUsuarioController.busFechaDesde eq null?'01/01/1900':reporteUsuarioController.busFechaDesde}"
                                                        maxdate="#{reporteUsuarioController.txtToday}"
                                                        yearRange="1900:"
                                                        readonlyInput="true">
                                                        <p:ajax update="calBusFechaDesde" event="dateSelect"/>
                                                    </p:calendar>
                                                </td>                                                
                                            </tr>
                                        </table>
                                    </td>
                                    <td colspan="2" >
                                        <table>
                                            <tr>
                                                <td style="text-align: right;">
                                                    <p:commandButton process="@this, txtBusCodUsuario, txtBusNomUsuario, lstBusActivo, lstBusTipoUsuario, lstBusUnidadTerritorial, blnBusBloqueado, calBusFechaDesde, calBusFechaHasta" 
                                                        value="Procesar" icon="ui-icon-search"  
                                                        id="buscarButton" 
                                                        update=":frmReporteUsuarios:grdUsuarios, msjFiltro, :frmReporteUsuarios:menuOpciones" 
                                                        actionListener="#{reporteUsuarioController.search}"/> 
                                                </td>
                                                <td style="text-align: left;">
                                                    <p:commandButton style="margin-right: 5px;" 
                                                                     value="Limpiar" 
                                                                     actionListener="#{reporteUsuarioController.limpiar}" 
                                                                     icon="ui-icon-cancel" 
                                                                     update="panUsuarios"/>
                                                </td>
                                            </tr>
                                        </table>
                                    </td>
                                </tr>
                            </thead>  
                            <tbody>
                                <tr>
                                    <td colspan="4">
                                    </td>
                                </tr>
                                <tr>
                                    <td colspan="4">
                                        <p:menubar style="width: 99%;" id="menuOpciones">
                                            <p:menuitem value="Imprimir" 
                                                        icon="ui-icon-print" 
                                                        actionListener="#{reporteUsuarioController.print(0)}" 
                                                        ajax="false"
                                                        disabled="#{empty reporteUsuarioController.lstUsuarios}">
                                            </p:menuitem>
                                            <p:menuitem value="Exportar" 
                                                        icon="ui-icon-extlink" 
                                                        actionListener="#{reporteUsuarioController.print(1)}" 
                                                        title="Exportar a Excel" 
                                                        ajax="false"
                                                        disabled="#{empty reporteUsuarioController.lstUsuarios}">
                                            </p:menuitem>
                                        </p:menubar>
                                    </td>
                                </tr>
                                <tr>
                                    <td colspan="4">
                                        <div style="height: 420px; overflow-y: auto;overflow-x:hidden;">
                                        <p:dataTable id="grdUsuarios" var="item" 
                                                     value="#{reporteUsuarioController.lstUsuarios}" 
                                                     paginator="true" rows="20"
                                                     paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
                                                     rowsPerPageTemplate="20,30,50,100"
                                                     emptyMessage="Filtro sin resultados. Ingrese un filtro para listar usuarios."
                                                     rowIndexVar="index"
                                                     currentPageReportTemplate="{startRecord}-{endRecord} de {totalRecords} Registros"
                                                     scrollHeight="150">
                                            <p:column width="100" style="text-align: center; width: 80px" >
                                                <f:facet name="header">
                                                    <h:outputText value="Código del Usuario"/>
                                                </f:facet>
                                                <div style="text-align: center;" > 
                                                    <h:outputText value="#{item.COD_USUARIO}" >
                                                    </h:outputText>
                                                </div>          
                                            </p:column>
                                            <p:column style="text-align: left; width: 300px;">
                                                <f:facet name="header">
                                                    <h:outputText value="Apellidos y Nombres"/>
                                                </f:facet>                                                
                                                <h:outputText value="#{item.TXT_APELLIDOS_NOMBRES}" />
                                            </p:column>
                                            <p:column style="text-align: center; width: 100px">
                                                <f:facet name="header">
                                                    <h:outputText value="Fecha de Registro en SSA"/>
                                                </f:facet>
                                                <h:outputText value="#{item.FEC_REGISTRO}" />
                                            </p:column> 
                                            <p:column style="text-align: center; width: 150px">
                                                <f:facet name="header">
                                                    <h:outputText value="Unidad Territorial Actual"/>
                                                </f:facet>                                                
                                                <h:outputText value="#{item.TXT_ZONAL}" />
                                            </p:column>
                                            <p:column style="text-align: center; width: 120px">
                                                <f:facet name="header">
                                                    <h:outputText value="Tipo de Usuario (I/E)"/>
                                                </f:facet>                                                
                                                <h:outputText value="#{item.TXT_TIPO_USUARIO}" />                                                
                                            </p:column>
                                            <p:column style="text-align: center; width: 50px">
                                                <f:facet name="header">
                                                    <h:outputText value="Flag de Activo/No Activo"/>
                                                </f:facet>
                                                <p:selectBooleanCheckbox value="#{item.FLG_ACTIVO eq '1'}" disabled="true">
                                                </p:selectBooleanCheckbox>
                                            </p:column>
                                            <p:column style="text-align: center; width: 50px">
                                                <f:facet name="header">
                                                    <h:outputText value="Flag Bloqueado"/>
                                                </f:facet>
                                                <p:selectBooleanCheckbox value="#{item.FLG_BLOQUEADO eq '1'}" disabled="true" >
                                                </p:selectBooleanCheckbox>                                                
                                            </p:column>
                                            <p:column style="text-align: center; width: 50px">
                                                <f:facet name="header">
                                                    <h:outputText value="Flag Caducidad de Clave"/>
                                                </f:facet>
                                                <p:selectBooleanCheckbox value="#{item.FLG_CADUCIDAD_CLAVE eq '1'}" disabled="true" >
                                                </p:selectBooleanCheckbox>   
                                            </p:column>
                                            <p:column style="text-align: left; width: 300px;">
                                                <f:facet name="header">
                                                    <h:outputText value="Correos Electrónicos Registrados"/>
                                                </f:facet>                                                
                                                <h:outputText value="#{item.TXT_CORREO_ELECTRONICO1} , #{item.TXT_CORREO_ELECTRONICO2} " />
                                            </p:column>
                                        </p:dataTable>
                                        </div>
                                    </td>
                                </tr>
                            </tbody>
                        </table>
                     </p:panel>
                 </h:form>
             </ui:define>
        </ui:composition>
    </h:body>
</html>